<?php
namespace app\admin\controller\system;
use think\Request;
use app\admin\server\system\Department as DepartmentServer;
use app\admin\common;
use think\facade\Session;
use think\facade\View;
use app\admin\ControllerBase;
/**
 * @title 部门类(岗位类)
 */
class Department extends ControllerBase{
	protected $request;
	public static $server;
    
    public function __construct(request $request)
    {
    	$this->REQUEST = $request;
        self::$s_server=new DepartmentServer($request);
    }
    
    
    /**
     * @title 部门管理列表
     * @is_header 1
     * @param int page 1 页数 
     * @param int limit 15 每页数量
     * @param string search_name 1 部门名称/岗位名称[注因为这里以树的形式展示。最好不要这个搜索。不然当岗位存在的时候。部门不存在。我需不需要显示出来]
     * @return string code - [0成功][201失败]
     * @return string data.id - 部 门id
     * @return string data.name - 部门名称
     * @return string data.remark - 部门备注
     * @return string data.up_name - 最后更新人
     * @return string data.up_time - 最后更新时间
     * @return array data.job - 岗位数据[当这个部门不存在下级岗位时,没有这个字段,要使用这个字段先判断]
     * @return string data.job.id - 岗位id
     * @return string data.job.name - 岗位名称
     * @return string data.job.remark - 备注
     * @return string data.job.up_name - 最后更新人
     * @return string data.job.up_time - 最后更新时间
     */
    public function getList(){
    	$this->requestLog(__function__, $this->REQUEST->param(), '查询岗位列表');
    	return $this->commonFunction(__function__);
    }
    /**/
    
    /**
     * @title 添加部门
     * @is_header 1
     * @param string name 第一部门 部门名称
     * @param string remark 123452 备注
     * @return string code - [0成功][201失败]
     */
    public function addDepartment(){
    	$this->requestLog(__function__, $this->REQUEST->param(), '添加岗位');
    	$checkFlag = $this->checkVailDate(\app\admin\validate\System::class, __function__);
        if ($checkFlag == false) {
            return common::return_json($checkFlag, $this->ERROR, $this->CODE);
        }
    	return $this->commonFunction(__function__);
    }
    
    /**
     * @title 编辑
     * @is_header 1
     * @param int id 1 需要编部的部门id
     * @param string name 第一部门 部门名称
     * @param string remark 123452 备注
     * @return string code - [0成功][201失败]
     */
    public function editDepartment(){
    	$this->requestLog(__function__, $this->REQUEST->param(), '编辑岗位');
    	$checkFlag = $this->checkVailDate(\app\admin\validate\System::class, __function__);
        if ($checkFlag == false) {
            return common::return_json($checkFlag, $this->ERROR, $this->CODE);
        }
    	return $this->commonFunction(__function__);
    }
    
    /**
     * @title 删除数据
     * @is_header 1
     * @param int id 1 需要删除的部门id
     * @return string code - [0成功][201失败]
     */
    public function deleteDepartment(){
    	$this->requestLog(__function__, $this->REQUEST->param(), '删除岗位');
    	$checkFlag = $this->checkVailDate(\app\admin\validate\System::class, __function__);
        if ($checkFlag == false) {
            return common::return_json($checkFlag, $this->ERROR, $this->CODE);
        }
    	return $this->commonFunction(__function__);
    }
}